package com.xhh.learning.record.finalize;

/**
 * 类名： FinalizeDemo
 * 描述：
 * 公司： 北京海鑫科金高科技股份有限公司
 * 作者： hejianhui
 * 版本： V1.0
 * 创建时间:  2019/2/18 18:02
 * 最后修改时间:  2019/2/18 18:02
 */
public class FinalizeDemo {

    protected static FinalizeDemo finalizeDemo;

    public static void main(String[] args) throws InterruptedException {
        finalizeDemo = new FinalizeDemo();
        finalizeDemo = null;
        System.gc();
        Thread.sleep(200);

        if (null != finalizeDemo) {
            System.out.println("我还活着");
        } else {
            System.out.println("我挂了");
        }

        finalizeDemo = null;
        System.gc();
        Thread.sleep(200);
        if (null != finalizeDemo) {
            System.out.println("我还活着");
        } else {
            System.out.println("我挂了");
        }
    }


    @Override
    protected void finalize() throws Throwable {
        super.finalize();
        System.out.println("复活");

        finalizeDemo = this;
    }
}
